#!/usr/bin/env python
PACKAGE = "ase_exploration"

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

gen.add("horizon",    int_t,    0, "planner horizon", 3,  1, 100)
gen.add("discount",    double_t,    0, "planner discount factor", 1.0,  0.0, 1.0)
gen.add("schedule_a",    int_t,    0, "a in linear schedule x = a*iter + b for repetitions of SMC", 4,  1, 100)
gen.add("schedule_b",    int_t,    0, "b in linear schedule x = a*iter + b for repetitions of SMC", 3,  1, 100)
gen.add("num_kernels",    int_t,    0, "number of kernels for SMC", 5,  1, 100)
gen.add("std_vel",    double_t,    0, "initial kernel st dev of linear velocity for SMC", 0.2,  0.01, 1)
gen.add("std_ang",    double_t,    0, "initial kernel st dev of angular velocity for SMC", 0.1,  0.01, 1)
gen.add("std_fr",    double_t,    0, "initial kernel st dev of final rotation for SMC", 0.02,  0.01, 1)
gen.add("default_ctrl_duration",    double_t,    0, "default control action duration in seconds", 1.0,  0.1, 5.0)
gen.add("num_particles",    int_t,    0, "number of particles in SMC", 10,  1, 500)
gen.add("resample_thresh",    double_t,    0, "resampling threshold in SMC", 0.33,  0.0, 1.0)
gen.add("allow_unknown_targets",    bool_t,    0, "allow planning targets to unknown areas", True)
gen.add("laser_min_angle_deg", double_t, 1, "simulated laser beam min incidence angle",    -90, -180,   180)
gen.add("laser_max_angle_deg", double_t, 1, "simulated laser beam max incidence angle",    90, -180,   180)
gen.add("laser_angle_step_deg", double_t, 1, "simulated laser beam angle step",    1, 0.01,   45)
gen.add("laser_max_dist_m", double_t, 1, "simulated laser beam max distance",    4.0, 0.1,   100)
gen.add("laser_p_false_pos", double_t, 1, "laser false positive probability",    0.05, 0.0,   1.0)
gen.add("laser_p_false_neg", double_t, 1, "laser false positive probability",    0.05, 0.0,   1.0)


exit(gen.generate(PACKAGE, "ase_exploration", "Planner"))
